1. Field
Embodiments relate to a method, system, and computer program product for distributed storage of data in a local storage and a heterogeneous cloud.
2. Background
Cloud storage is a model of data storage in which digital data is stored in logical pools, and the physical storage spans a plurality of servers. The physical storage environment may be owned and managed by a hosting company. These cloud storage providers may be responsible for keeping the data available and accessible, and for keeping the physical environment protected and maintained properly. People and organizations may buy or lease storage capacity from the cloud storage providers to store user, organization, or application data.
In certain storage system environments a storage controller may comprise a plurality of storage servers that are coupled to each other, where one or more of the storage servers may comprise a plurality of processing nodes or servers. The storage controller allows host computing systems to perform input/output (I/O) operations with storage devices controlled by the storage controller.
Local storage comprising a plurality of hard disks, tape drivers, solid state disks (SSD) may be coupled to the storage controller. Redundant array of independent disks (RAID) is a data storage virtualization technology that combines multiple disk drive components into a single logical unit for data redundancy or performance improvement. Data is distributed across the drives in one of several ways, referred to as RAID levels, depending on the specific level of redundancy and performance required. The different schemes or architectures are named by the word RAID followed by a number (e.g. RAID 0, RAID 1). Each scheme provides a different balance among the goals of reliability, availability, performance, and capacity. For example, RAID levels greater than RAID 0 provide protection against unrecoverable read errors, as well as whole disk failures. The storage devices of the local storage may be configured as a RAID.
Network security is a branch of computer security specifically related to networks, and may involve browser security, security of data in transmission, security of other applications in the networked environment, security of the operating systems of computers in the networked environment, etc. Computer communications represents an insecure channel for exchanging information leading to a high risk of intrusion or fraud, such as via the interception and decryption of communications. Different mechanisms have been used to protect the transfer of data via various communications protocols that may include encryption and/or other operations to securely establish connections and transfer data. For example a Secure Sockets Layer (SSL) protocol may be used for connections between two computational devices. A Virtual Private Network (VPN) protocol may be used to link two computational devices such that they appear to be in a local private network. A VPN tunnel may be used to securely communicate between the two computational devices. Internet Protocol Security (IPsec) is a set of protocols that run over the Internet Protocol (IP) layer. IPSec allows two or more computational devices to communicate in a secure manner by authenticating and encrypting each IP packet of a communication session. A VPN established over IPSec is referred to as an IPSec VPN. OpenVPN is an open-source software application that provides virtual VPN techniques for creating secure point-to-point or site-to-site connections in routed or bridged configurations and remote access facilities. Internet direct connect is another mechanism for secure data communications. Various other communications protocols may be used for secure data communications.